﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace Main.Common
{
    public class Win32Api2
    {
        [StructLayout(LayoutKind.Sequential)]
        public class POINT
        {
            public int x;

            public int y;

            public POINT()
            {
                Class2.Q91Y6x2zoRBWY();
                //base..ctor();
            }
        }

        [StructLayout(LayoutKind.Sequential)]
        public class MouseHookStruct
        {
            public POINT pt;

            public int hwnd;

            public int wHitTestCode;

            public int dwExtraInfo;

            public MouseHookStruct()
            {
                Class2.Q91Y6x2zoRBWY();
                //base..ctor();
            }
        }

        public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam);

        [DllImport("user32.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
        public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);

        [DllImport("user32.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
        public static extern bool UnhookWindowsHookEx(int idHook);

        [DllImport("user32.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
        public static extern int CallNextHookEx(int idHook, int nCode, IntPtr wParam, IntPtr lParam);

        public Win32Api2()
        {
            Class2.Q91Y6x2zoRBWY();
            //base..ctor();
        }
    }
}
